# 解释os.path.dirname(os.path.abspath(__file__)) 和 "."的区别
# os.path.dirname(os.path.abspath(__file__))是获取当前项目的绝对路径，不会因为执行目录的改变，而发生改变
# "." 是获取当前项目的执行目录，会因为执行目录的改变，而发生改变
# 执行目录：命令在哪个目录下运行，那么执行目录就是这个目录。简单的说，执行目录就是cmd窗口的当前目录
import os

print("打印'.'的目录： ", os.path.abspath("./"))
print("打印os.path.dirname(os.path.abspath(__file__))的目录：", os.path.dirname(os.path.abspath(__file__)))

# 实现员工模块增删改查（重点，难点）

# - 1 登陆
import requests, app  # 导包

response = requests.post(url=app.BASE_URL + "/api/sys/login",
                         headers=app.HEADRES,
                         json={"mobile": "13800000002", "password": "123456"})
print("登陆的响应数据为：", response.json())
# - 2 提取登陆的令牌，保存到全局变量
token = response.json().get("data")
print("提取的token为：", token)

# 令牌保存到全局变量， 字典添加键值对，dict["键名"] = 值，键名存在则修改，不存在则添加键值对
app.HEADRES["Authorization"] = "Bearer " + token
print("令牌保存到全局变量请求头之后的结果为：", app.HEADRES)
# - 3 查询员工列表
response = requests.get(url=app.BASE_URL + "/api/sys/user?page=1&size=10",
                        headers=app.HEADRES)
print("查询员工列表的结果为：", response.json())
# - 4 添加员工
response = requests.post(url=app.BASE_URL + "/api/sys/user",
                         headers=app.HEADRES,
                         json={"username": "尼古拉斯赵四",
                               "mobile": "777676669976",
                               "workNumber": "2020",
                               "timeOfEntry": "2020-01-01",
                               "formOfEmployment": "1",
                               "departmentId": "9527",
                               "departmentName": "北京27期测试部",
                               "correctionTime": "2020-12-04"
                               })
print("添加员工结果：", response.json())
# - 5 提取员工ID，保存到全局变量
app.EMP_ID = response.json().get("data").get("id")
print("提取并保存到全局变量的员工id为：", app.EMP_ID)
# - 6 查询员工
response = requests.get(url=app.BASE_URL + "/api/sys/user" + "/" + app.EMP_ID,
                        headers=app.HEADRES)
print("查询员工URL为:", response.url)
print("查询员工的响应数据为:", response.json())
# - 7 修改员工
response = requests.put(url=app.BASE_URL + "/api/sys/user" + "/" + app.EMP_ID,
                        headers=app.HEADRES,
                        json={"username": "隔壁老王"})
print("修改员工的响应数据为:", response.json())
# - 8 删除员工
response = requests.delete(url=app.BASE_URL + "/api/sys/user" + "/" + app.EMP_ID,
                           headers=app.HEADRES)
print("删除员工的响应数据为:", response.json())

# 参数化插件对于数据格式的要求:
# 最外层必须是列表,内部的每一组数据可以是元组或列表
# 例如:[(10, 20, 30), (20, 30, 51), (30, 40, 70)]
a = [{"name": "毛宇"}, {"name": "姜欢欢"}, {"name": "周春燕"}]
empty_list = []
for i in a:
    empty_list.append(tuple(i.values()))
